package io.finer.erp.jeecg.stock.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value="StockMovePage对象", description = "库存移动")
public class StockMovePage {
    @ApiModelProperty(value = "ID")
    private String id;

    @ApiModelProperty(value = "物料ID")
    private String materialId;

    @ApiModelProperty(value = "物料编码")
    private String materialCode;

    @ApiModelProperty(value = "物料名称")
    private String materialName;

    @ApiModelProperty(value = "物料分类ID")
    private String materialCategoryId;

    @ApiModelProperty(value = "物料分类编码")
    private String materialCategoryCode;

    @ApiModelProperty(value = "物料分类名称")
    private String materialCategoryName;

    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

//    @Dict(dictTable = "bas_measure_unit", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "计量单位")
    private java.lang.String unitId;

    @ApiModelProperty(value = "计量单位名称")
    private java.lang.String unitName;

    @ApiModelProperty(value = "计量单位符号")
    private java.lang.String unitSymbol;

    @ApiModelProperty(value = "规格型号")
    private java.lang.String specification;

    @ApiModelProperty(value = "单价")
    private BigDecimal price;

//    @ApiModelProperty(value = "币种")
//    private String currencyId;
//
//    @ApiModelProperty(value = "币种编码")
//    private String currencyCode;
//
//    @ApiModelProperty(value = "币种名称")
//    private String currencyName;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建日期")
    private Date createDate;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "处理日期")
    private Date processDate;

    @ApiModelProperty(value = "来源库位")
    private String sourceWarehouseId;

    @ApiModelProperty(value = "来源库位编码")
    private String sourceWarehouseCode;

    @ApiModelProperty(value = "来源库位名称")
    private String sourceWarehouseName;

    @ApiModelProperty(value = "目的库位")
    private String destWarehouseId;

    @ApiModelProperty(value = "目的库位编码")
    private String destWarehouseCode;

    @ApiModelProperty(value = "目的库位名称")
    private String destWarehouseName;

    @ApiModelProperty(value = "事物处理类型")
    private String transactionType;

    @ApiModelProperty(value = "部门")
    private String sysOrgCode;

    @ApiModelProperty(value = "部门名称")
    private String departName;

    @ApiModelProperty(value = "处理人")
    private String processor;

    @ApiModelProperty(value = "源单据")
    private String origin;

    @ApiModelProperty(value = "参考")
    private String ref;

    @ApiModelProperty(value = "参考ID")
    private String refId;

    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "供应商")
    private String supplierId;

    @ApiModelProperty(value = "供应商编码")
    private String supplierCode;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "客户")
    private String customerId;

    @ApiModelProperty(value = "客户编码")
    private String customerCode;

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "状态")
    private String state;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "版本")
    private Integer version;
}
